The present invention relates to data communication, and more particularly, to the field of browsing the Internet.
During the recent years, usage of data communication has increased. One popular method of data communication is surfing a network, such as but not limited to the Internet. The term “surfing” generally is defined as using a browser application to retrieve information embedded within web pages stored at one or more content servers. It should be noted that the terms “surfing” and “browsing” are used interchangeably herein. Surfing the Internet can be done by connecting a user to the Internet via an access network. An exemplary access network can be a wireless Internet service provider, a cellular service provider, satellite service provider, WiFi service provider, etc. A common data communication session can be based on a data communication protocol, such as but not limited to the Internet Protocol (IP).
A “Web page,” is a file or document created for use in the World Wide Web environment (hereinafter, “Web”). Web pages are typically located using a “URL,” which stands for Uniform Resource Locator, which is a form of address adapted for use in the distributed network environment of the Web. Web pages are typically encoded in a Markup Language (ML), such as but not limited to, Hyper Text Markup Language, or (HTML), Extensible Markup Language (XML), Wireless Markup Language (WML), XHTML, CHTML, WMLC, etc. Some of these languages can be used by cellular devices. A browser is a software application running on a user device that is adapted or functional to process Web documents.
In addition to web pages, other content pages may be created by using Markup Languages. These pages can be used over private networks, portals, organizational servers, etc. Henceforth, the description of the present invention may use the term ‘web page’ as a representative term for any of the above group or as general, displayable content created or defined by a Markup Language.
A common Web page includes a plurality of links to other pages or information. Some of the links are associated with objects of text as well as graphics, images, sound files, and perhaps video that belongs to the same web page. Usually those links are retrieved automatically by the browser while processing the current web page. The discloser of this application refers to those links as browser's links. Other links may be associated with other web pages, which are selected by the user according to his preference. Those links are referred as user's links or navigation links.
A common surfing session may start by requesting a home page of the portal that serves the user. For a user that uses a cellular device, for example, the home page of the portal can be the home page of the cellular service provider. In order to give a “homely” feeling to the surfer and to create a branding effect, the home page, as well as other pages of the portal, may have a stable site structure that may change infrequently. Furthermore, most of the pages in the portal include a logo that is associated with the portal, a similar navigation section, etc. that repeats in or is duplicated across two or more pages. In addition to the stable structure, changeable information may be added to the page. The changeable information can include items such as, but not limited to, news, advertising of local shops located close to the current location of the user, weather forecasting, etc. Fetching the home page and other pages of the portal may take a long time because a page can include images, graphics, etc.
To avoid re-fetching of the same information (repeating information) in next or future requested pages, a browser commonly uses a cache that stores the last received or most recently received information. However, common portal pages are configured to have a zero or very short expiration date, cache period, to reduce the risk of skipping and not displaying an update in the changeable information, such as in the news or advertisement. Therefore surfing the portal may take a long period of time, even though the portal may contain repeatable information. The long period of time adversely effects the user experience, especially when the user is connected via a long thin network (LTN). A LTN can represent a network having a limited bandwidth and/or high latency, such as but not limited to a cellular network, satellite, etc.
Therefore there is a need for a system and a method for enabling the use of cache within a user's device to eliminate the need for re-fetching of the same information of web pages and objects. Furthermore, there is a need for a technique for updating the information in the cache within a user's device, with changes to pages or information that occur between the times that the information is initially loaded into the cache of the user's device and the current time or the current status of the page at the portal. The operation of the system can be transparent to the user's device as well as to the web server that stores the web pages.
Such a new system can increase the quality of the user's experience by reducing the response time to a user's request. Accelerating the response can be achieved by updating its cache with the latest updates prior to requesting those updates. Pushing the updates can be done while the connection is not used for carrying a user's request or response to a last request. Transparent updates can be done during the time that a user reads a previously received page, for example.